react ts提示异常 · Issue #11097 · NervJS/taro · GitHub | 您所在的位置:网站首页 › taro ts › react ts提示异常 · Issue #11097 · NervJS/taro · GitHub |
复现:
调查拓扑后发现,当开发者项目本地依赖了 @tarojs/cli 并且使用 npm 7+ 安装依赖时,会复现此问题。 原因:因为 @tarojs/cli 依赖 @tarojs/plugin-framework-vue3,而后者的 peerDependencies 依赖了 vue。正如 @khronosleung 所指明的:npm 7+ 会把 peerDependencies 也进行安装。此时开发者的项目同时存在 react 和 vue 的类型依赖文件,又因为 @tarojs/taro/types/taro.component.d.ts 使用了 /// 同时引入了 react 和 vue 的类型,最终两者类型冲突导致开发者报错: “View”不能用作 JSX 组件。 其元素类型 "ReactElement | Component | null" 不是有效的 JSX 元素。ts(2786) 解决 修改 @tarojs/cli,不再依赖 @tarojs/plugin-framework-vue3。(最快捷,Taro v3.4.8 能带出去) 优化 @tarojs/taro/types/taro.component.d.ts 的写法,根据情况引入对应的框架类型。(比较麻烦,Taro v3.5 修复) 其它关于楼上有同学提到了安装 redux 也会产生此问题,我这边是没有复现的。可以等等 Taro v3.4.8 再试试,如果还有问题,请提供一下详细的复现流程。 |
CopyRight 2018-2019 实验室设备网 版权所有 |